প্রথম Spring JDBC প্রজেক্ট তৈরি করা (Hello JDBC Example)

Java Technologies - স্প্রিং জেডিবিসি (Spring JDBC) Spring JDBC সেটআপ এবং কনফিগারেশন |
80
80

স্প্রিং জেডিবিসি (Spring JDBC) ব্যবহার করে একটি সাধারণ JDBC প্রজেক্ট তৈরি করার জন্য, আমরা সাধারণত কয়েকটি ধাপে কাজ করি। নিচে একটি Hello JDBC Example তৈরি করার প্রক্রিয়া দেওয়া হয়েছে।

এখানে একটি ডেটাবেস টেবিল থাকবে এবং আমরা সেটি থেকে ডেটা রিড এবং ইনসার্ট করতে পারব।

১. Maven ডিপেনডেন্সি

প্রথমে, আমাদের Maven ব্যবহার করে প্রজেক্টে স্প্রিং জেডিবিসি এবং ডেটাবেস ড্রাইভার যুক্ত করতে হবে।

pom.xml ফাইলের মধ্যে নিচের ডিপেনডেন্সিগুলি যোগ করুন:

<dependencies>
    <!-- Spring JDBC Dependency -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.3.20</version>
    </dependency>

    <!-- Spring Core Dependency -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.3.20</version>
    </dependency>

    <!-- MySQL JDBC Driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
    
    <!-- Spring Context Dependency for DI -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.3.20</version>
    </dependency>

</dependencies>

২. ডেটাবেস কনফিগারেশন

আমাদের ডেটাবেসের সাথে সংযোগ স্থাপন করার জন্য একটি DataSource কনফিগারেশন প্রয়োজন। নিচে একটি applicationContext.xml কনফিগারেশন ফাইলের উদাহরণ দেওয়া হলো:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">

    <!-- DataSource Bean -->
    <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/yourdb" />
        <property name="username" value="yourusername" />
        <property name="password" value="yourpassword" />
    </bean>

    <!-- JdbcTemplate Bean -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <constructor-arg ref="dataSource" />
    </bean>

</beans>

এখানে আপনি yourdb, yourusername এবং yourpassword আপনার ডেটাবেসের তথ্য দিয়ে পরিবর্তন করবেন।

৩. DAO (Data Access Object) ক্লাস তৈরি

এখন আমাদের ডেটাবেস থেকে ডেটা পড়তে এবং ইনসার্ট করতে একটি DAO ক্লাস তৈরি করতে হবে। এখানে একটি উদাহরণ দেওয়া হলো:

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import java.sql.ResultSet;
import java.sql.SQLException;

public class EmployeeDao {

    private JdbcTemplate jdbcTemplate;

    // Setter method for JdbcTemplate
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    // Insert an employee into the database
    public void addEmployee(Employee employee) {
        String sql = "INSERT INTO employee (id, name, salary) VALUES (?, ?, ?)";
        jdbcTemplate.update(sql, employee.getId(), employee.getName(), employee.getSalary());
    }

    // Fetch an employee by ID
    public Employee getEmployeeById(int id) {
        String sql = "SELECT * FROM employee WHERE id = ?";
        return jdbcTemplate.queryForObject(sql, new Object[]{id}, new EmployeeRowMapper());
    }
}

class Employee {
    private int id;
    private String name;
    private double salary;

    // Getters and Setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }
}

class EmployeeRowMapper implements RowMapper<Employee> {
    @Override
    public Employee mapRow(ResultSet rs, int rowNum) throws SQLException {
        Employee employee = new Employee();
        employee.setId(rs.getInt("id"));
        employee.setName(rs.getString("name"));
        employee.setSalary(rs.getDouble("salary"));
        return employee;
    }
}

এখানে, EmployeeDao ক্লাস ডেটাবেসের সাথে যোগাযোগ করতে JdbcTemplate ব্যবহার করছে। addEmployee() মেথডের মাধ্যমে একটি কর্মীকে ডেটাবেসে ইনসার্ট করা হচ্ছে, এবং getEmployeeById() মেথডের মাধ্যমে একজন কর্মীকে ID দিয়ে পাওয়া যাচ্ছে।

৪. মেইন ক্লাস

এখন আমরা একটি Main Class তৈরি করব, যেখানে আমরা DAO ক্লাসটি ব্যবহার করব।

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class HelloJDBCExample {
    public static void main(String[] args) {
        // Load the Spring context
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        // Get the EmployeeDao bean
        EmployeeDao employeeDao = (EmployeeDao) context.getBean("employeeDao");

        // Create a new employee
        Employee employee = new Employee();
        employee.setId(1);
        employee.setName("John Doe");
        employee.setSalary(50000);

        // Insert employee into the database
        employeeDao.addEmployee(employee);

        // Fetch the employee by ID
        Employee fetchedEmployee = employeeDao.getEmployeeById(1);
        System.out.println("Employee: " + fetchedEmployee.getName() + ", Salary: " + fetchedEmployee.getSalary());
    }
}

৫. ডেটাবেস টেবিল

আপনার MySQL ডেটাবেসে একটি employee টেবিল তৈরি করুন:

CREATE TABLE employee (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    salary DECIMAL(10, 2)
);

৬. রান করা

আপনি যদি সবকিছু সঠিকভাবে কনফিগার করেন এবং ডেটাবেসে ডেটা ইনসার্ট করেন, তখন আপনার প্রজেক্ট রান করার পর কর্মী (Employee) টেবিল থেকে ডেটা ইনসার্ট এবং ফেচ করতে সক্ষম হবেন।

উপসংহার:

এটি ছিল স্প্রিং জেডিবিসি ব্যবহার করে একটি সাধারণ "Hello JDBC Example" প্রজেক্ট। এখানে আমরা JdbcTemplate ব্যবহার করে ডেটাবেসে ডেটা ইনসার্ট এবং রিড করেছি।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion